package com.xjy.system.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xjy.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 收入记账信息分页查询对象 sys_colpaydec
 *
 * @author xjy
 * @date 2022-02-14
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("收入记账信息分页查询对象")
public class SysColpaydecQueryBo extends BaseEntity {

	/** 分页大小 */
	@ApiModelProperty("分页大小")
	private Integer pageSize;
	/** 当前页数 */
	@ApiModelProperty("当前页数")
	private Integer pageNum;
	/** 排序列 */
	@ApiModelProperty("排序列")
	private String orderByColumn;
	/** 排序的方向desc或者asc */
	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
	private String isAsc;

	@ApiModelProperty("收款记录ID")
	private Long id;
	@ApiModelProperty("收款记录ID集合")
	private List<Long> idList;
	/** 项目ID */
	@ApiModelProperty("项目ID")
	private Long projId;
	/** 合同ID */
	@ApiModelProperty("合同ID")
	private Long contractId;
	/** 合同结算项目ID */
	@ApiModelProperty("合同结算项目ID")
	private Long resultProjId;
	/** 科目ID */
	@ApiModelProperty("科目ID")
	private Long budgetId;
	/** 收款单据单号 */
	@ApiModelProperty("收款单据单号")
	private String colpayNo;
	/** 项目名称 */
	@ApiModelProperty("项目名称")
	private String projName;
	/** 合同名称 */
	@ApiModelProperty("合同名称")
	private String contractName;
	/** 结算项目名称 */
	@ApiModelProperty("结算项目名称")
	private String resultProjName;
	/** 科目名称 */
	@ApiModelProperty("科目名称")
	private String budgetName;
	/** 收款时间 */
	@ApiModelProperty("收款时间")
	@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
	private Date colpayTime;
	/** 收款金额 */
	@ApiModelProperty("收款金额")
	private BigDecimal colpayAmt;
	/** 收款说明 */
	@ApiModelProperty("收款说明")
	private String colpayDec;

	@ApiModelProperty("收款来源")
	private Long colpaySource;

	@ApiModelProperty("收款来源")
	private String colpaySourceName;
	/** 收款类型0：合同收款，1：其它收款 */
	@ApiModelProperty("收款类型0：合同收款，1：其它收款")
	private Integer colpayType;
	/** 经办人 */
	@ApiModelProperty("经办人")
	private String handler;
	/** 经办人id */
	@ApiModelProperty("经办人id")
	private Long handlerId;
	/** 收款方式0：现金，1：银行（默认：银行） */
	@ApiModelProperty("收款方式0：现金，1：银行（默认：银行）")
	private Integer colpayWay;
	/** 收款账户id */
	@ApiModelProperty("收款账户id")
	private Long colpayAccountId;
	/** 收款账户名称 */
	@ApiModelProperty("收款账户名称")
	private String colpayAccountName;
	/** 收款账户开户行 */
	@ApiModelProperty("收款账户开户行")
	private String colpayAccountBank;
	/** 收款账户号码 */
	@ApiModelProperty("收款账户号码")
	private String colpayAccountNo;
	/** 预留字段1 */
	@ApiModelProperty("预留字段1")
	private String reserveOne;
	/** 预留字段2 */
	@ApiModelProperty("预留字段2")
	private String reserveTwo;
	/** 预留字段3 */
	@ApiModelProperty("预留字段3")
	private String reserveThree;
	/** 审核状态 0：未审核（默认）；1：审核 */
	@ApiModelProperty("审核状态 0：未审核（默认）；1：审核")
	private Boolean auditStatus;

}
